Storage as a transformation of signals in time can be modelled as a bandlimited channel, and for digital signal readout in particular, the bit clock is commonly regenerated from the read out signal. Both facts are reasons that Run-Length Limited or RLL channel codes are used on digital storage media. Known as (d,k) codes, they convert any sequence of arbitrary payload words into a sequence of channel words that has at least d and at most k “0”s between consecutive “1”s. In a subsequent transcoding or precoding stage, the sequence containing the thus isolated “1”s is converted to an output signal where each of the “1”s in the sequence causes a state change in the output signal. In digital optical storage, such state changes are from “pit” to “space” or vice versa, and in magnetical recording, they are from a “plus” to a “minus” magnetical orientation, or vice versa. This transcoding is known as NRZI coding; for mathematical tractability it is sometimes conceptually followed by a mapping of amplitudes to output values x∈{−1,+1}. Regardless of the physical basis of storage, the limitations on the distance of the “1”s in the sequence translate into the physically homogeneous regions between state changes on a storage track being of a length that is upper and lower limited.
FIG. 3 shows a block diagram of a prior art RLL-encoder having a dk-encoder 301 and a precoder 302. The dk-encoder 301 maps unconstrained data tuples u consisting of a predefined number of binary elements from {“0”, “1”} to constrained tuples v of binary elements. In this, “unconstrained” means that any combination of element values may occur in the tuple; correspondingly, “constrained” refers to certain combinations of values being forbidden, as described herein. As a consequence of this constrainedness, it is unavoidable that the length or dimensionality of the constrained tuples v is bigger than the dimensionality of the data tuples u. As one typical example, data tuples of length 2 are dk-encoded into constrained tuples of length 3. The sequence of constrained tuples v fulfils or obeys a minimum runlength constraint d and a maximum runlength constraint k. The d-constraint requires at least d “zeros” between consecutive “ones”, the k-constraint requires at most k “zeros” between any two consecutive “ones”. The constrained tuples v are precoded with the NRZI approach in a precoder 302 into precoded tuples x which will be stored.
FIG. 4 shows a block diagram of a corresponding prior art RLL-decoder. A readout tuple x′ is predecoded in a predecoder 402 into a dk-decodable tuple v′, which in turn is dk-decoded in a dk-decoder 401 into the RLL decoded tuple u′. All through the following, terms like “dk-encoder”, “dk-decoder” will be used without variation as a general way to denote the principle of runlength limited coding, whereas forms like “(d,k)” will be employed using the specific variables for the respectively pertaining lower and upper runlength limits.
In recent high density storage, it has been found as vital that codes additionally obey another constraint: It is forbidden (i.e. must not occur in the channel coded bitstream) that too many runs of the minimum allowed length d are immediately consecutive. This is known as a Repeated Minimum Transition Runlength or RMTR constraint, and if it is demanded for a channel, any channel encoding method or apparatus to be used for that channel must be such that this additional constraint is fulfilled.
RMTR constrained RLL channel codes are used in the recent high-density optical storage media, like blue laser disks. In prior art channel coding, fulfilling the RMTR constraint was often directly and empirically “built into” the channel coder or the code generation rule.
U.S. Pat. No. 4,413,251 describes a finite state machine (FSM) to convert unconstrained binary-valued sequences into a constrained binary-valued sequence in an invertible manner, and a finite lookahead state-independent decoder to be used therewith. Based on this, WO 00/03392 describes method and means for reducing high-duty-cycle unconstrained binary signal sequences in storage and communication. By heuristically modifying given RLL codes, binary sequences ordinarily mapping into high-duty-cycle RLL-code sequences are either inhibited from repeating indefinitely or excluded. The method and means described in WO 00/03392 can be seen to have the disadvantage that they employ an extended finite state machine (FSM) which is an indication of a more complex realization. Also, nothing is disclosed whether or how the findings can be generalized.
U.S. Pat. No. 6,369,724 describes apparatus and method for modulating and demodulating where an RMTR constraint is implemented by detecting in the coded data code sequences in which a minimum run is repeated, and subsequently converting them to a predetermined bit sequence. For the predetermined code sequence, different alternatives are described and rules for selection are given, but in any embodiment, a single such predetermined code sequence is always used.